Dashboard Temp Share Shortlinks Frames API

HTMLify

154. Find Minimum in Rotated Sorted Array II.java
Views: 1 | Author: cody
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 154. Find Minimum in Rotated Sorted Array II java solution
class Solution {
    public int findMin(int[] nums) {
        int lo=0,hi=nums.length-1;
        int ans=-1;
        while(lo<=hi){
            int m=lo+((hi-lo)/2);
            if(nums[m]==nums[lo] && nums[m]==nums[hi]){
                lo++;hi--;
                if(ans==-1 || nums[ans]>nums[m]){
                    ans=m;
                }
            }
            else if(nums[m]<=nums[hi]){
                if(ans==-1 || nums[ans]>nums[m]){
                    ans=m;
                }
                hi=m-1;
            }else{
                if(ans==-1 || nums[ans]>nums[m]){
                    ans=m;
                }
                lo=m+1;
            }
        }
        return nums[ans];
    }
}